package WinterVacation.Day10;

public class LeetCode189 {

    //时间消耗太大;不适用于大量数据
//    public  static void swap(int[] nums,int k){
//        for (int i = 0; i < k; i++) {
//            int midNum = nums[nums.length - 1];
//            for (int j = nums.length - 1; j > 0; j--) {
//                nums[j] = nums[j - 1];
//            }
//            nums[0] = midNum;
//        }
//    }
    public static void reversal(int[] nums,int k ){
        //先将整个数组反转
        Swap(nums,0,nums.length);
        //再反转剩下的部分
        Swap(nums,0,k);
        Swap(nums,k,nums.length);
    }
    //反转一个数组
    public static void Swap(int[] nums,int i,int j){
        //开始元素,i为反转开始的地方,j为结束的地方
        int m = i;
        //末尾元素
        int n = j - 1;
        while(m < n){
            int midNum = nums[m];
            nums[m] = nums[n];
            nums[n] = midNum;
            m++;
            n--;
        }
    }
    public static void main(String[] args) {
        int [] arr = {1,3,5,4,6,9,8};
//        swap(arr,3);
        reversal(arr,3);
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]);
        }
    }
}
